Kubernetes 是當今最受歡迎的容器管理平台之一,而 YAML 是在 Kubernetes 中定義配置的主要格式。先瞭解 YAML 語法和格式,並記錄些 Kubernetes 時應該注意的事項和命名慣例。
基本結構: YAML 使用縮進(通常是兩個空格)來表示層次結構,而不是使用大括號或分號。以下是一個簡單的 YAML 示例:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: nginx:latest
apiVersion 和 kind 定義了 Kubernetes 資源的類型。
metadata 包含有關資源的元數據,例如名稱和標籤。
spec 包含資源的配置內容,例如容器的映像。
字串和數字: YAML 支援字符串和數字的表示方式。字符串可以使用單引號或雙引號括起來,也可以不用引號。數字可以是整數或浮點數。
message: 'Hello, YAML!'
count: 42
List 和 Dictionary: list使用橫線(-)表示,Dict使用冒號(:)表示。
fruits:
- apple
- banana
- cherry
person:
name: John
age: 30
a. 版本控制: 始終使用版本控制系統(如 Git)來管理您的 YAML 文件,以便跟蹤變更並恢復以前的配置。
b. 標籤和命名: 給資源和容器分配有意義的名稱和標籤,這有助於識別和管理它們。命名慣例通常包括小寫字母和dash - 符號。
c. 安全性: 不要在 YAML 中存儲敏感信息,如密碼或憑據。使用 Kubernetes 的機密管理來處理這些信息。
d. 註釋: 使用註釋來解釋 YAML 文件中的重要信息,以便其他人更容易理解您的配置。
e. 模組化: 將 YAML 文件分成多個小文件,以便於維護和重用配置。使用 kubectl apply -f 命令來部署多個文件。
a. 資源名稱: 使用小寫字母和dash(-)來命名資源。例如,my-pod 或 web-service。
b. label: 使用駝峰式命名法(camelCase)或小寫字母和連字符來命名標籤。例如,appVersion: "1.0" 或 environment: production。
c. 容器名稱: 使用小寫字母和連字符來命名容器。例如,web-app-container。
d. 名稱空間 namespace: 使用小寫字母和連字符來命名名稱空間。例如,development 或 prod-stage.